package com.yfp.client.service;

import com.yfp.client.domain.MarActivity;
import com.yfp.client.domain.MarCoupon;
import com.yfp.client.domain.Marketing;
import com.yfp.client.domain.vo.ClientActivityRewardsRankVO;
import com.yfp.client.domain.vo.ClientActivityVO;
import com.yfp.client.domain.vo.CountClientActivityVO;

import java.util.List;

/**
 * @Description: 客户活动
 * 
 * @CreateDate: 2024/7/19 13:53
 * @UpdateUser: 
 * @UpdateDate: 2024/7/19 13:53
 * @UpdateRemark: 暂无修改
 * @Version: 1.0
 */
public interface ClientActivityService {

    /**
     * 邀请有礼统计
     *
     * @param type
     * @param clientId
     * @return
     */
    CountClientActivityVO countClientActivityByMarketingIdAndClientId(Long marketingId, String clientId);

    /**
     * 查询邀请有礼邀请记录
     *
     * @param type
     * @param clientId
     * @return
     */
    List<ClientActivityVO> findByMarketingIdAndClientId(Long marketingId, String clientId);

    /**
     * 获取活动信息
     *
     * @param id
     * @return
     */
    MarActivity findMarActivityById(Long id);

    /**
     * 获取优惠券信息
     *
     * @param id
     * @return
     */
    MarCoupon findMarCouponById(Long id);

    /**
     * 获取营销主表信息
     *
     * @param id
     * @return
     */
    Marketing findMarketingById(Long id);

    /**
     * 获取有效的活动
     *
     * @param type
     * @return
     */
    MarActivity findValidByType(Integer type,String cityName);

    /**
     * 获取邀请有礼排行榜
     *
     * @param marketingId
     * @return
     */
    List<ClientActivityRewardsRankVO> getRewardsRank(Long marketingId);
}